package com.weds.edjk.mapper;

import com.weds.core.annotation.MyBatisDao;
import com.weds.edjk.vo.DepTreeVo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author
 * @Description 管理
 * @Date 2020-06-06
 */
@MyBatisDao
public interface FileMonitorMapper {
    /**
     * 部门编号下员工总数
     * @param userDept
     * @return
     */
    int selectUserCountByDep(@Param("userDept") String userDept);

    /**
     * 根据部门编号查询子部门
     * @param depParent
     * @return
     */
    List<DepTreeVo> selectDepTreeByParent(String depParent);
    /**
     * 根据部门编号查询子部门
     * @param depParent
     * @return
     */
    List<Map<String,Object>> selectDepByParent(String depParent);
    /**
     * 根据部门ID查询员工数量按性别分组
     * @param userDept
     * @return
     */
    List<Map<String,String>> selectUserCountByDepGroupBySex(@Param("userDept")String userDept);
    /**
     * 根据部门ID查询员工数量按学历分组
     * @param userDept
     * @return
     */
    List<Map<String,String>> selectCountByDepGroupByXueLi(@Param("userDept")String userDept);

    /**
     * 根据部门序号和学历查询人数
     * @param userDept
     * @param xueLi
     * @return
     */
    int selectCountByDepAndXueLi(@Param("userDept") String userDept,@Param("xueLi") String xueLi);
    /**
     * 根据部门序号和组名查询人数
     * @param userDept
     * @param userFname
     * @return
     */
    int selectCountByDepAndFname(@Param("userDept") String userDept,@Param("userFname") String userFname);
    /**
     * 根据部门ID查询员工数量
     * @param userDept
     * @return
     */
    List<Map<String,String>> selectCountByDepGroupByFname(@Param("userDept")String userDept);

    /**
     * 查询部门下入职日期
     * @param userDept
     * @return
     */
    List<Date> selectWorkdayByDep(@Param("userDept")String userDept);

    /**
     * 查询部门下生日
     * @param userDept
     * @return
     */
    List<Date> selectBirthdayByDep(@Param("userDept")String userDept);

    /**
     * 查询子部门编号
     * @param userDept
     * @return
     */
    List<String> selectDepSerialByParent(@Param("userDept")String userDept);

}